[PowerShell] 次のバージョンでPowerShellは PowerShell 7 になります
しばたです。
先日PowerShell Core 6.2がリリースされたばかりですが、次のPowerShellのリリースについてPowerShell Teamからアナウンスがありました。
次バージョンのPowerShellは PowerShell 7
記事のタイトルにもある通り、次のバージョンは PowerShell Core 6.3 ではなく、 PowerShell 7 になります。
PowerShell Core 7でもなく PowerShell 7 です。
メジャーバージョンが上がり、同時に Core も呼び名から外されます。
メジャーバージョンを上げる動機として、
- PowerShell Core 6.xでクロスプラットフォームなツールとしてWindows以外の環境で広くインストールされる様になった
- 次のバージョンではWindows PowerShellの置き換えを目指していきたい
- 基盤に.NET Core 3.0を採用する(PowerShell Core 6.1~6.2は.NET Core 2.1製)
- これにより.NET Framework(Windows PowerShell)とのさらに高い互換性が確保できる
といった点が述べられています。
そしてWindows PowerShellとの高い互換性を提供するということで、Windows PowerShell、PowerShell Coreの呼称を統合して PowerShell 7 とするという目論見です。
(イメージとしては最初にCore Editionが登場したPowerShell 5.1のときの様にしたいのだと思われます)
このあたりの詳細に関してはPowerShell Teamのアナウンスを参照してください。
PSEdtionの扱いについて
PowerShell 7では呼称からCoreが除外されることになりますが、PSEdition
の扱いについてはこれまでと同様で変更はありません。
Windows PowerShell 5.1はDesktop
エディション、PowerShell 7はCore
エディションのままです。
リリーススケジュール
これまでPowerShell Coreのリリースは概ね3週間程度を1回のイテレーションとしてプレビュー版をリリース、半年ごとにマイナーバージョンアップというスケジュールでリリースされてきました。
PowerShell 7に関しては、プレビュー版のリリースはこれまでと変わらず行う様で、.NET Core 3.0の実装状況にも依りますが2019年5月には最初のプレビュー版をリリースする見込みとなっています。
そして正式版のリリースは.NET Core 3.0が正式リリースされた後にするとのことです。
(※2019.04.06現在、.NET Core 3.0のリリース予定は2019年後半とされています)
Windowsに同梱されるのか?
PowerShell 7はWindows PowerShellの置き換えを目指すということでWindows OSに同梱されるのかは気になるところですが、この点についてはアナウンスでは明言は避けています。
We are planning on eventually shipping PowerShell 7 in Windows as a side-by-side feature with Windows PowerShell 5.1, but we still need to work out some of the details on how you will manage this inbox version of PowerShell 7.
とある様に「考えてはいるがすぐには出来ない」といったところの様です。
サポートライフサイクルの変更
現在のPowerShell CoreはMicrosoft Modern Lifecycle Policyで提供されており、Microsoftからのサポートを受けるには最新バージョンを使い続ける必要があります。
PowerShell 7からはこのポリシーを.NET Core Support Policyと近いものに変更し、LTSバージョンと非LTSバージョンに分けるそうです。
詳細については後日発表されるでしょう。
最後に
ざっとこんな感じです。
PowerShell Teamがこんなに早い段階で次バージョンの方向性をアナウンスするのは珍しく少し驚いています。
更なる続報が出れば随時ブログでお知らせしていきたいと思います。